# 代码编写者： 李朔
# 开发时间： 2021/9/8 20:57
l=[1,2,3,4,5,6,71,10,9,10]

#快速排序算法
#有两种写法，这里写出双指针的写法
def Quick_sort(l,first,end):
    #左右指针分别位于序列的两端
    #第0个元素直接取出作为我们的第一个枢纽值
    if first+1>=end:
        return None
    l_p,r_p=first,end-1
    key=l[l_p]  #枢纽值
    while l_p<r_p:
        while l_p<r_p and l[r_p]>=key:
            r_p-=1
        l[l_p]=l[r_p]
        while l_p<r_p and l[l_p]<=key:
            l_p+=1
        l[r_p]=l[l_p]
    l[l_p]=key
    Quick_sort(l,first,l_p)
    Quick_sort(l,l_p+1,end)
Quick_sort(l,0,len(l))
print(l)
